package com.onion.utils.surface;

import com.google.common.collect.Lists;

import java.io.Serializable;
import java.util.List;


public class PageData<T> implements Serializable {

    private static final long serialVersionUID = 3872607992753421469L;

    private int pageNo;
    private int pageSize;
    private int total;
    private List<T> rows = Lists.newArrayList();

    public static <T> PageData<T> instance(List<T> listData, PageVo pageVo){
        return instance(listData, pageVo.getPageNo(), pageVo.getPageSize(), pageVo.getTotal());
    }

    public static <T> PageData<T> instance(List<T> listData, int pageNo, int pageSize, int total){
        PageData<T> pageData = new PageData<>();
        pageData.setPageNo(pageNo);
        pageData.setPageSize(pageSize);
        pageData.setTotal(total);
        pageData.setRows(listData);
        return pageData;
    }

    public int getPageNo() {
        return pageNo;
    }

    public void setPageNo(int pageNo) {
        this.pageNo = pageNo;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }

}
